// pages/personal-settings/index.js
// 个人资料设置
import api from '../../api/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // detail: {},
    formData: {
      "address": "",
      "email": "",
      "empName": "",
      "icon": "",
      "phone": "",
      "sex": 0
    },
    headImgUrl:'',//头像路径
    isChange: false, //是否修改图片
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getPersonalInfo();
  },
  //选择性别
  onChangeSex(e) {
    this.setData({
      [`formData.sex`]: e.currentTarget.dataset.type,
    })
  },
  //保存
  formSubmit(e) {
    console.log(e);
    let detail = e.detail.value;
    this.setData({
      [`formData.address`]: detail.address,
      [`formData.email`]: detail.email,
      [`formData.empName`]: detail.empName,
      [`formData.phone`]: detail.phone,
    })

    //是否修改头像
    if (this.data.isChange) {
      //先获取oss地址
      api.getOSSUrl().then(res => {
        let data = res.data.data;
        this.uploadImg(data);
      })
    } else {
      //不修改头像直接更信息
      this.updateInfo();
    }


  },
  //修改信息
  updateInfo() {
    api.putPersonalInfo(this.data.formData).then(res => {
      this.setData({
        isChange: false
      })
      wx.showToast({
        title: '修改成功',
      })
    })
  },
  //上传图片
  uploadImg(data) {
    let arr = this.data.headImgUrl.split('.'); //截取后缀
    let suffix = arr[arr.length - 1];
    wx.uploadFile({
      url: data.host, //仅为示例，非真实的接口地址
      filePath: this.data.headImgUrl,
      formData: {
        "policy": data.policy,
        "key": data.dir + data.fileName + '.' + suffix,
        "OSSAccessKeyId": data.accessid,
        "Signature": data.signature,
        "success_action_status": 200,
        "fileName": data.fileName,
      },
      name: 'file',
      success: (res) => {
        //上传成功
        // console.log('上传图片', res);
        // const data = res.data
        this.setData({
          [`formData.icon`]:data.fileName + '.' + suffix
        })
        this.updateInfo();
      }
    })
  },
  //选择图片
  chooseImage() {
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths[0];
        console.log('获取到图片信息', res);
        this.setData({
          headImgUrl: tempFilePaths,
          isChange: true,
        })
      }
    })
  },
  //获取个人信息
  getPersonalInfo() {
    api.getPersonalInfo().then(res => {
      this.setData({
        formData: res.data.data,
        headImgUrl: res.data.data.icon
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})